1. Field of the Invention
This invention relates to a high speed double precision multiplier for performing the double precision multiplication of two double precision data using a 2's complement single precision multiplier.
2. Description of the Prior Art
In general, data of n bits (n is a natural number) is called single precision data (SP data), while data of 2n bits is called double precision data (DP data). However, it is assumed now that (2n-1)-bit data obtained by multiplying two 2's complement SP data is referred to as DP data.
To multiply two DP data in a 2's complement single precision multiplier, it is necessary to divide each DP data into two SP data.
Two methods have been proposed for the division of (2n-1)-bit DP data into the upper and lower words, or two SP data. The first method enables the division of the (2n-1)-bit DP data into the upper n-bit word and the lower n-bit word, which is obtained by adding one "0" bit after the LSB (least significant bit) of the remaining lower (n-1) bits. For example, such a method is proposed by T. Nishitani et al in an article titled "A Single-chip Digital Signal Processor for Telecommunication Applications"; published in the IEEE JOURNAL OF SOLID-STATE CIRCUITS, Vol. SC-16, No. 4, pp. 372-376, August, 1981. The second method achieves the division of the (2n-1)-bit DP data into the lower n-bit word and the upper n-bit word, which is obtained by adding the sign bit to the MSB (most significant bit) of the remaining upper (n-1) bits (See an article by K. McDonough et al titled "Microcomputer with 32-bit arithmetic does high-precision number crunching", published in the Electronics, pp. 105-110, February 24, 1982).
In both of the above-described methods, whether the MSB of the lower word becomes "0" or "1" depends on the result of the single precision multiplication. In this case, the multiplication in the 2's complement single precision multiplier with the lower word inputted is made using its input word assuming a negative number if the MSB is "1". For this reason, the sign bit of the lower word must always be discriminated so as to correct the multiplication result, thereby making the multiplication process complicated as well as requiring much time in computation.